Vertikalni text
Otázka od: Jan Rizek
3. 5. 2004 20:00
Potreboval bych psat v aplikaci vertikalne. Hledam neco jako VerticalLabel.
Nevite nekdo o necem, co bych na to mohl pouzit?
JR
Odpovedá: Radek Szurman
3. 5. 2004 20:00
Videl bych to asi tak ze bys pouzil image a na jeho canvas lze psat v
jakemkoli uhlu.
na Google urcite najdes spoustu prikladu.
Radek Szurman
> Potreboval bych psat v aplikaci vertikalne. Hledam neco jako
VerticalLabel.
>
> Nevite nekdo o necem, co bych na to mohl pouzit?
>
> JR
>
>
>
>
Odpovedá: Jakub Dusek
3. 5. 2004 20:00
TImage bych na to neplytval Canvas ma uz TGraphicControl, takze je
lepsi si udelat potomka z nej.
Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service
======================================================================
Monday, May 3, 2004, 5:21:15 PM, you wrote:
RS> Videl bych to asi tak ze bys pouzil image a na jeho canvas lze psat v
RS> jakemkoli uhlu.
RS> na Google urcite najdes spoustu prikladu.
RS> Radek Szurman
Odpovedá: StuPe
5. 5. 2004 10:29
Tu mas priklad, ktery mi jede (at zije PohledVen Ekspress, co to zprznil):
function drawCopy(img: TImage): boolean;
var
hFnt: HFONT;
h, w: integer;
const
Tx = 'Zkopiruj informace do schranky';
begin // nakreslit svisly text CopyImage a CopyPanel
With img.Canvas do begin
h:= -MulDiv(10, GetDeviceCaps(Handle, LOGPIXELSY), 72);
file://w:= MulDiv(TImage(Sender).Height div length(Tx),
GetDeviceCaps(Handle, LOGPIXELSY), 72);
w:= img.Height div length(Tx+' ');
hFnt:= CreateFont(
h, w,
90*10, 0, // uhel, orientace
0,1,0,0, file://bold, fdwItalic, fdwUnderline, fdwStrikeOut
EASTEUROPE_CHARSET, // znakova sada
0, 0, 0, file://fdwOutputPrecision, fdwClipPrecision
0,//PROOF_QUALITY, file://fdwQuality
PChar('Arial') file://fdwPitchAndFamily
);
SetTextAlign(Handle, TA_CENTER);
Font.Handle:= hFnt;
Brush.color:= clBtnFace;
FillRect(img.canvas.ClipRect);
Brush.Style:= bsClear;
Font.Color:= clWindowText;
ExtTextOut(Handle, 2, Img.Height div 2, 0, nil,
PChar(Tx), length(Tx), nil);
TWinControl(img.Parent).Width:= 2 + TextHeight(Tx) + 2;
end;
DeleteObject(hFnt);
Result:= True;
end;
stupe
----- Puvodni zprava -----
Od: "Radek Szurman" <surad@digijoe.com>
Komu: <delphi-l@clexpert.cz>
Odeslano: 3. kvetna 2004 17:21
Predmet: Re: Vertikalni text
> Videl bych to asi tak ze bys pouzil image a na jeho canvas lze psat v
> jakemkoli uhlu.
> na Google urcite najdes spoustu prikladu.
>
> Radek Szurman
>
>
> > Potreboval bych psat v aplikaci vertikalne. Hledam neco jako
> VerticalLabel.
> >
> > Nevite nekdo o necem, co bych na to mohl pouzit?
> >
> > JR
> >
> >
> >
> >
>
>
>
>
>